The developments described in this section are known to the inventors. However, unless otherwise indicated, it should not be assumed that any of the developments described in this section qualify as prior art merely by virtue of their inclusion in this section, or that those developments are known to a person of ordinary skill in the art.
Continuous integration (CI) is a software development practice that requires software developers to periodically integrate source code into a shared repository. The shared repository is usually managed by a source code management (SCM) system (also called a revision control or version control system) that tracks and manages source code as it is written and revised. The revisions (also called integrations) added to the SCM system are routinely verified by a CI management system—e.g. as and when they are added to the SCM system—allowing software development teams to detect and correct problems early.
Given different types and versions of computer systems, software developers often require their software applications to work in different environments (e.g., different operating systems, platforms, databases, or programs). For instance, a given software application may be required to be run on WINDOWS, OS400, AIX, LINUX, etc. To account for this, CI management systems generally test the source code in various different target environments.
However, it is often difficult for CI management systems to manage and provide varied build and test environments.